從單機紀錄到社群競技
一個人練雖然專注,但如果能看到其他人今天推了多少重量,那種「不能輸」的求勝心絕對是突破 PR(個人紀錄)的最佳催化劑!
在 Day 27,我們要讓 Vibe Fitness 迎來一次重大進化,從單機版的個人紀錄工具,正式跨入「社群互動」的領域。透過加入總重量排行榜,我們要把健身房裡那種無形的良性競爭,完美搬APP中。同時,也會建立一套暱稱與隱私機制,讓使用者都能安心參戰。
今日開發重點
登入攔截與專屬代號 (Nickname Modal)、
多維度榮耀榜 (日 / 週 / 月 排名)、
Firestore 效能最佳化 (Stats 聚合設計)
AI Prompt:
你現在是一位資深的前端與 Firebase (V9) 開發專家。請幫我擴充目前的 Vibe Fitness PWA 專案。請幫我實作「使用者暱稱設定流程」與「社群總重量排行榜 (Leaderboard)」。
登入攔截與暱稱設定 (Nickname & Opt-in Modal):
users/{uid} 文件中是否已有 nickname 欄位。nickname 與 optInLeaderboard (boolean) 更新至該使用者的 Firestore 屬性中。排行榜介面與資料邏輯 (Leaderboard View):
optInLeaderboard == true 的使用者。Firebase 架構更新建議:
leaderboard_stats 集合),並附上對應的寫入與讀取程式碼。輸出結果:
有新的可以輸入暱稱的視窗了!
成功寫入firebase!